package main

import (
	"gOrmTest/InitGorm"
	"gOrmTest/Models"
)

/*
将查询的 Find First Last ... 换成下面三个
	update		更新所有字段 并且只更新你选择的单个字段 零值也会更新
	updates		更新所有字段, 此时有两种形式, 一种为map   另一种为结构体 ,结构体零值不参与更新
	save     无论如何都更新, 所有的内容 包括 0 值 如果没有主键那么就新增 工作中不常用
*/

func main() {

	// update 用法c
	InitGorm.Db.Model(&Models.User{}).Where("name = ?", "c").Update("name", "")

	//	 save用法
	//	var user []Models.User
	//	dbRes := InitGorm.Db.Find(&user, "name = ?", "java")
	//	fmt.Println(user)
	//	for k := range user {
	//		user[k].Age = 21
	//	}
	//	dbRes.Save(&user)
	//}

	//	 updates

	//var user Models.User
	//InitGorm.Db.First(&user).Updates(Models.User{
	//	Name: "第一条了",
	//	Age:  0, // 零值不更新
	//})

	//InitGorm.Db.First(&user).Updates(map[string]interface{}{
	//	"Name": "",
	//	"age":  0,
	//})
}
